翻訳と辞書
Words near each other
・ Off with Their Heads (band)
・ Off with Their Heads (song)
・ Off World One
・ Off You
・ OFF!
・ Off!
・ Off! (album)
・ Off-air pickup
・ Off-axis illumination
・ Off-axis optical system
・ Off-Balance
・ Off-balance-sheet
・ Off-Beat
・ Off-Broadway
・ Off-budget enterprise
Off-by-one error
・ Off-case arguments
・ Off-center ions
・ Off-centered rhyme
・ Off-Centre
・ Off-color humor
・ Off-farm income
・ Off-flavour
・ Off-gas
・ Off-hook
・ Off-hook tone
・ Off-key
・ Off-label use
・ Off-Leash Area (theatre company)
・ Off-licensed drug


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Off-by-one error : ウィキペディア英語版
Off-by-one error
An off-by-one error (OBOE), also commonly known as an OBOB (off-by-one bug), is a logic error involving the discrete equivalent of a boundary condition. It often occurs in computer programming when an iterative loop iterates one time too many or too few. This problem could arise when a programmer makes mistakes such as using "is less than or equal to" where "is less than" should have been used in a comparison or fails to take into account that a sequence starts at zero rather than one (as with array indices in many languages). This can also occur in a mathematical context.
==Looping over arrays==
Consider an array of items, and items ''m'' through ''n'' (inclusive) are to be processed. How many items are there? An intuitive answer may be ''n'' − ''m'', but that is off by one, exhibiting a fencepost error; the correct answer is ''n'' –''m'' + 1.
For this reason, ranges in computing are often represented by half-open intervals; the range from ''m'' to ''n'' (inclusive) is represented by the range from ''m'' (inclusive) to ''n'' + 1 (exclusive) to avoid fencepost errors. For example, a loop that iterates five times can be written as a half-open interval from 0 to 5:

for (i = 0; i < 5; i++)

The loop body is executed first of all with i equal to 0; i then becomes 1, 2, 3, and finally 4 on successive iterations. At that point, i becomes 5, so i < 5 is false and the loop ends. However, if the comparison used were <= (less than or equal to), the loop would be carried out six times: i takes the values 0, 1, 2, 3, 4, and 5. Likewise, if i were initialized to 1 rather than 0, there would only be four iterations: i takes the values 1, 2, 3, and 4. Both of these alternatives can cause off-by-one errors.
Another such error can occur if a do-while loop is used in place of a while loop (or vice versa.) A do-while loop is guaranteed to run at least once.
Array-related confusion may also result from differences in programming languages. Numbering from 0 is most common, but some languages start array numbering with 1. Pascal has arrays with user-defined indices. This makes it possible to model the array indices after the problem domain.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Off-by-one error」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.